// 定义一个全局变量，用于获取聊天回复
var chatCompletion = null;

function fetchChatCompletion() {
  // 获取输入框中的聊天内容
  var info = document.querySelector("input").value;
  var content_text = `
1、Agent 角色定义
定位为专业身材管理师，需基于用户提供的身体数据（身高、体重、体脂率等）和生活习惯（运动频率、饮食偏好等）生成个性化管理方案。

2、用户数据
${info}

3、输出要求
请根据以上数据进行分析并给出：
- 身体状况评估
- 健康建议
- 运动计划
- 饮食建议
`;

  var options = {
    method: "POST",
    headers: {
      Authorization:
        "Bearer sk-sksltxovybtraaatdiifuwdpybfwlmplbqzvhasrmgtmegeb",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      messages: [
        {
          content: content_text,
          role: "user",
        },
      ],
      model: "Qwen/Qwen2.5-7B-Instruct",
    }),
  };
  console.log(options.body);
  fetch("https://api.siliconflow.cn/v1/chat/completions", options)
    .then((response) => response.json())
    .then((response) => {
      console.log(response);
      chatCompletion = response;
      // 提取content字段并显示在div#infos中
      try {
        var content = JSON.parse(response.choices[0].message.content).data;
        var contentHtml = `
                            <div class="message user-message">
                                <p>你：${info}</p>
                            </div>
                            <div class="message bot-message">
                                <p>${content}</p>
                            </div>
                        `;
        document.querySelector("#infos").innerHTML += contentHtml;
        // 滚动到对话框底部
        scrollToBottom();
      } catch (error) {
        console.error("JSON解析错误:", error);
        console.log("原始响应数据:", response.choices[0].message.content);
        // 如果捕获到异常，递归调用fetchChatCompletion函数
        fetchChatCompletion();
      }
    })
    .catch((err) => {
      console.error(err);
      // 如果捕获到异常，递归调用fetchChatCompletion函数
      fetchChatCompletion();
    });
}
